package com.ken.apollo.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ken.apollo.domain.bo.CarouselImageBo;
import com.ken.apollo.domain.entity.CarouselImage;
import com.ken.apollo.domain.query.CarouselImageQuery;
import com.ken.apollo.domain.vo.CarouselImageVo;

import java.util.List;

/**
 * 轮播图表(CarouselImage)表服务接口
 *
 * @author Ken
 * @since 2025-11-03
 */
public interface CarouselImageService extends IService<CarouselImage> {

    /**
     * 保存轮播图
     * @param carouselImageBo
     * @return
     */
    boolean save(CarouselImageBo carouselImageBo);

    /**
     * 更新轮播图
     * @param carouselImageBo
     * @return
     */
    boolean update(CarouselImageBo carouselImageBo);

    /**
     * 查询轮播图列表
     * @param query
     * @return
     */
    List<CarouselImageVo> list(CarouselImageQuery query);

    /**
     * 根据ID查询轮播图
     * @param id
     * @return
     */
    CarouselImageVo getById(Long id);

    /**
     * 更新轮播图状态
     * @param id
     * @param status
     * @return
     */
    boolean updateStatus(Long id, Boolean status);

    /**
     * 更新轮播图排序
     * @param id
     * @param sortOrder
     * @return
     */
    boolean updateSortOrder(Long id, Integer sortOrder);
}

